package com.leyou.domain.db1entity;

import java.util.ArrayList;
import java.util.List;

public class TurnTableRecordExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TurnTableRecordExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andRecordkeyIsNull() {
            addCriterion("recordkey is null");
            return (Criteria) this;
        }

        public Criteria andRecordkeyIsNotNull() {
            addCriterion("recordkey is not null");
            return (Criteria) this;
        }

        public Criteria andRecordkeyEqualTo(String value) {
            addCriterion("recordkey =", value, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyNotEqualTo(String value) {
            addCriterion("recordkey <>", value, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyGreaterThan(String value) {
            addCriterion("recordkey >", value, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyGreaterThanOrEqualTo(String value) {
            addCriterion("recordkey >=", value, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyLessThan(String value) {
            addCriterion("recordkey <", value, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyLessThanOrEqualTo(String value) {
            addCriterion("recordkey <=", value, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyLike(String value) {
            addCriterion("recordkey like", value, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyNotLike(String value) {
            addCriterion("recordkey not like", value, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyIn(List<String> values) {
            addCriterion("recordkey in", values, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyNotIn(List<String> values) {
            addCriterion("recordkey not in", values, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyBetween(String value1, String value2) {
            addCriterion("recordkey between", value1, value2, "recordkey");
            return (Criteria) this;
        }

        public Criteria andRecordkeyNotBetween(String value1, String value2) {
            addCriterion("recordkey not between", value1, value2, "recordkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyIsNull() {
            addCriterion("userkey is null");
            return (Criteria) this;
        }

        public Criteria andUserkeyIsNotNull() {
            addCriterion("userkey is not null");
            return (Criteria) this;
        }

        public Criteria andUserkeyEqualTo(String value) {
            addCriterion("userkey =", value, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyNotEqualTo(String value) {
            addCriterion("userkey <>", value, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyGreaterThan(String value) {
            addCriterion("userkey >", value, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyGreaterThanOrEqualTo(String value) {
            addCriterion("userkey >=", value, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyLessThan(String value) {
            addCriterion("userkey <", value, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyLessThanOrEqualTo(String value) {
            addCriterion("userkey <=", value, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyLike(String value) {
            addCriterion("userkey like", value, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyNotLike(String value) {
            addCriterion("userkey not like", value, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyIn(List<String> values) {
            addCriterion("userkey in", values, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyNotIn(List<String> values) {
            addCriterion("userkey not in", values, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyBetween(String value1, String value2) {
            addCriterion("userkey between", value1, value2, "userkey");
            return (Criteria) this;
        }

        public Criteria andUserkeyNotBetween(String value1, String value2) {
            addCriterion("userkey not between", value1, value2, "userkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyIsNull() {
            addCriterion("cardkey is null");
            return (Criteria) this;
        }

        public Criteria andCardkeyIsNotNull() {
            addCriterion("cardkey is not null");
            return (Criteria) this;
        }

        public Criteria andCardkeyEqualTo(String value) {
            addCriterion("cardkey =", value, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyNotEqualTo(String value) {
            addCriterion("cardkey <>", value, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyGreaterThan(String value) {
            addCriterion("cardkey >", value, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyGreaterThanOrEqualTo(String value) {
            addCriterion("cardkey >=", value, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyLessThan(String value) {
            addCriterion("cardkey <", value, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyLessThanOrEqualTo(String value) {
            addCriterion("cardkey <=", value, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyLike(String value) {
            addCriterion("cardkey like", value, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyNotLike(String value) {
            addCriterion("cardkey not like", value, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyIn(List<String> values) {
            addCriterion("cardkey in", values, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyNotIn(List<String> values) {
            addCriterion("cardkey not in", values, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyBetween(String value1, String value2) {
            addCriterion("cardkey between", value1, value2, "cardkey");
            return (Criteria) this;
        }

        public Criteria andCardkeyNotBetween(String value1, String value2) {
            addCriterion("cardkey not between", value1, value2, "cardkey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyIsNull() {
            addCriterion("activitykey is null");
            return (Criteria) this;
        }

        public Criteria andActivitykeyIsNotNull() {
            addCriterion("activitykey is not null");
            return (Criteria) this;
        }

        public Criteria andActivitykeyEqualTo(String value) {
            addCriterion("activitykey =", value, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyNotEqualTo(String value) {
            addCriterion("activitykey <>", value, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyGreaterThan(String value) {
            addCriterion("activitykey >", value, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyGreaterThanOrEqualTo(String value) {
            addCriterion("activitykey >=", value, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyLessThan(String value) {
            addCriterion("activitykey <", value, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyLessThanOrEqualTo(String value) {
            addCriterion("activitykey <=", value, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyLike(String value) {
            addCriterion("activitykey like", value, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyNotLike(String value) {
            addCriterion("activitykey not like", value, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyIn(List<String> values) {
            addCriterion("activitykey in", values, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyNotIn(List<String> values) {
            addCriterion("activitykey not in", values, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyBetween(String value1, String value2) {
            addCriterion("activitykey between", value1, value2, "activitykey");
            return (Criteria) this;
        }

        public Criteria andActivitykeyNotBetween(String value1, String value2) {
            addCriterion("activitykey not between", value1, value2, "activitykey");
            return (Criteria) this;
        }

        public Criteria andPrizetypeIsNull() {
            addCriterion("prizetype is null");
            return (Criteria) this;
        }

        public Criteria andPrizetypeIsNotNull() {
            addCriterion("prizetype is not null");
            return (Criteria) this;
        }

        public Criteria andPrizetypeEqualTo(String value) {
            addCriterion("prizetype =", value, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeNotEqualTo(String value) {
            addCriterion("prizetype <>", value, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeGreaterThan(String value) {
            addCriterion("prizetype >", value, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeGreaterThanOrEqualTo(String value) {
            addCriterion("prizetype >=", value, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeLessThan(String value) {
            addCriterion("prizetype <", value, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeLessThanOrEqualTo(String value) {
            addCriterion("prizetype <=", value, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeLike(String value) {
            addCriterion("prizetype like", value, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeNotLike(String value) {
            addCriterion("prizetype not like", value, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeIn(List<String> values) {
            addCriterion("prizetype in", values, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeNotIn(List<String> values) {
            addCriterion("prizetype not in", values, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeBetween(String value1, String value2) {
            addCriterion("prizetype between", value1, value2, "prizetype");
            return (Criteria) this;
        }

        public Criteria andPrizetypeNotBetween(String value1, String value2) {
            addCriterion("prizetype not between", value1, value2, "prizetype");
            return (Criteria) this;
        }

        public Criteria andCouponkeyIsNull() {
            addCriterion("couponkey is null");
            return (Criteria) this;
        }

        public Criteria andCouponkeyIsNotNull() {
            addCriterion("couponkey is not null");
            return (Criteria) this;
        }

        public Criteria andCouponkeyEqualTo(String value) {
            addCriterion("couponkey =", value, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyNotEqualTo(String value) {
            addCriterion("couponkey <>", value, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyGreaterThan(String value) {
            addCriterion("couponkey >", value, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyGreaterThanOrEqualTo(String value) {
            addCriterion("couponkey >=", value, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyLessThan(String value) {
            addCriterion("couponkey <", value, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyLessThanOrEqualTo(String value) {
            addCriterion("couponkey <=", value, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyLike(String value) {
            addCriterion("couponkey like", value, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyNotLike(String value) {
            addCriterion("couponkey not like", value, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyIn(List<String> values) {
            addCriterion("couponkey in", values, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyNotIn(List<String> values) {
            addCriterion("couponkey not in", values, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyBetween(String value1, String value2) {
            addCriterion("couponkey between", value1, value2, "couponkey");
            return (Criteria) this;
        }

        public Criteria andCouponkeyNotBetween(String value1, String value2) {
            addCriterion("couponkey not between", value1, value2, "couponkey");
            return (Criteria) this;
        }

        public Criteria andPointcountIsNull() {
            addCriterion("pointcount is null");
            return (Criteria) this;
        }

        public Criteria andPointcountIsNotNull() {
            addCriterion("pointcount is not null");
            return (Criteria) this;
        }

        public Criteria andPointcountEqualTo(Long value) {
            addCriterion("pointcount =", value, "pointcount");
            return (Criteria) this;
        }

        public Criteria andPointcountNotEqualTo(Long value) {
            addCriterion("pointcount <>", value, "pointcount");
            return (Criteria) this;
        }

        public Criteria andPointcountGreaterThan(Long value) {
            addCriterion("pointcount >", value, "pointcount");
            return (Criteria) this;
        }

        public Criteria andPointcountGreaterThanOrEqualTo(Long value) {
            addCriterion("pointcount >=", value, "pointcount");
            return (Criteria) this;
        }

        public Criteria andPointcountLessThan(Long value) {
            addCriterion("pointcount <", value, "pointcount");
            return (Criteria) this;
        }

        public Criteria andPointcountLessThanOrEqualTo(Long value) {
            addCriterion("pointcount <=", value, "pointcount");
            return (Criteria) this;
        }

        public Criteria andPointcountIn(List<Long> values) {
            addCriterion("pointcount in", values, "pointcount");
            return (Criteria) this;
        }

        public Criteria andPointcountNotIn(List<Long> values) {
            addCriterion("pointcount not in", values, "pointcount");
            return (Criteria) this;
        }

        public Criteria andPointcountBetween(Long value1, Long value2) {
            addCriterion("pointcount between", value1, value2, "pointcount");
            return (Criteria) this;
        }

        public Criteria andPointcountNotBetween(Long value1, Long value2) {
            addCriterion("pointcount not between", value1, value2, "pointcount");
            return (Criteria) this;
        }

        public Criteria andGoosnameIsNull() {
            addCriterion("goosname is null");
            return (Criteria) this;
        }

        public Criteria andGoosnameIsNotNull() {
            addCriterion("goosname is not null");
            return (Criteria) this;
        }

        public Criteria andGoosnameEqualTo(String value) {
            addCriterion("goosname =", value, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameNotEqualTo(String value) {
            addCriterion("goosname <>", value, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameGreaterThan(String value) {
            addCriterion("goosname >", value, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameGreaterThanOrEqualTo(String value) {
            addCriterion("goosname >=", value, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameLessThan(String value) {
            addCriterion("goosname <", value, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameLessThanOrEqualTo(String value) {
            addCriterion("goosname <=", value, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameLike(String value) {
            addCriterion("goosname like", value, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameNotLike(String value) {
            addCriterion("goosname not like", value, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameIn(List<String> values) {
            addCriterion("goosname in", values, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameNotIn(List<String> values) {
            addCriterion("goosname not in", values, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameBetween(String value1, String value2) {
            addCriterion("goosname between", value1, value2, "goosname");
            return (Criteria) this;
        }

        public Criteria andGoosnameNotBetween(String value1, String value2) {
            addCriterion("goosname not between", value1, value2, "goosname");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}
